package com.shujia.day08.ketang;
/*
    接口:表示一个类的额外功能的实现
    java提供了一个关键字表示接口:interface
    接口我们可以将它看作成一个特殊的类, 因为接口也会被编译成一个class文件

    接口注意事项:
        1. 接口中只能存在抽象方法, jvm默认会在方法前使用public abstract进行修饰, 刚学java推荐加上
        2. 类和接口是实现关系 可以通过关键字implements实现接口
        3. 当一个具体的类实现一个接口的时候, 必须要实现接口中所有的抽象方法
        4. 若一个抽象类实现一个接口的时候,可以选择性地实现接口中的抽象方法
        5. 一个类可以同时实现多个接口,使用逗号隔开
        6. 接口和接口存在继承关系, 并且一个接口可以同时继承多个接口
        7. 接口中只能定义常量, 默认修饰符为public static final
        8. 接口无法实例化, 接口中不能出现构造方法

   面试题:
        java中允许多继承吗?
        答:
            若是类和类之间的继承,只能单继承,不能多继承
            若是接口与接口之间的继承,可以多继承
 */

interface Inter1{
    public static final int a = 10;

//    Inter1(){}
}

class Demo6 implements Inter1{
    public void fun1(){
//        a = 20;
        System.out.println(a);
    }

}

public class InterfaceDemo3 {
    public static void main(String[] args) {
//        Demo6 demo6 = new Demo6();
//        System.out.println(demo6.a);
//        System.out.println(Inter1.a);
//        demo6.fun1();

//        Inter1 inter1 = new Inter1();

        Inter1 i1 = new Demo6(); // 接口多态
    }
}
